package cn.iocoder.yudao.module.vlog.info.dal.dataobject;

import cn.iocoder.yudao.framework.business.basic.pojo.po.MemberScopeEntity;
import cn.iocoder.yudao.framework.business.basic.pojo.po.ShopScopeEntity;
import cn.iocoder.yudao.module.api.vlog.info.enums.VLogStatusEnum;
import com.baomidou.mybatisplus.annotation.KeySequence;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;

import java.math.BigDecimal;

/**
 * 视频信息 DO
 *
 * @author 山野羡民（1032694760@qq.com）
 */
@TableName("vlog_info")
@KeySequence("vlog_info_seq") // 用于 Oracle、PostgreSQL、Kingbase、DB2、H2 数据库的主键自增。如果是 MySQL 等数据库，可不写。
@Data
@NoArgsConstructor
@AllArgsConstructor
public class VLogInfoDO extends MemberScopeEntity implements ShopScopeEntity {

    /**
     * 店铺编号
     */
    private Long shopId;
    /**
     * 播放地址
     */
    private String playUrl;
    /**
     * 封面地址
     */
    private String coverUrl;
    /**
     * 视频标题
     */
    private String title;
    /**
     * 视频秒数
     */
    private Integer seconds;
    /**
     * 视频宽度
     */
    private Integer width;
    /**
     * 视频高度
     */
    private Integer height;
    /**
     * 视频大小，单位为字节
     */
    private Integer size;
    /**
     * 浏览数
     */
    private Integer browseCount;
    /**
     * 点赞数
     */
    private Integer likedCount;
    /**
     * 收藏数
     */
    private Integer favoriteCount;
    /**
     * 评论数
     */
    private Long commentCount;
    /**
     * 分享数
     */
    private Integer shareCount;
    /**
     * 是否私密
     */
    private Boolean privacy;
    /**
     * 状态
     * <p>
     * 枚举 {@link VLogStatusEnum}
     */
    private Integer status;
    /**
     * 城市
     */
    private Integer cityId;
    /**
     * 纬度
     */
    private BigDecimal latitude;
    /**
     * 经度
     */
    private BigDecimal longitude;
    /**
     * 距离，不是数据库表中的字段，用作排序
     */
    @TableField(exist = false)
    private Integer distance;

}
